//@author A0083782W
//UerCommandEnum contains all the enum classes that is needed in 
//UserCommand class
//As UserCommand class needs to understand all sorts of human input,
//the constant list will be super long.
//These enum are there to improve the resiliance and the readablity 
//of the constant list.
//Therefore in theory any of these should not be used outside the 
//UserCommand class.
//However, if situation arises where there is need to use any of them,
//feel free to do so. :-)
#pragma once

enum class Nature {
	UNDEFINED, DYING,     USELESS,
	WORD_TO,   TODAY,     TOMORROW,	
	MORNING,   AFTERNOON, PREP,	
	OCLOCK,	   NUMBER,	  MONTHS,
	WEEKDAY,   AMPM,      DATE,
	TIME,      DURATION_TIME,
	DURATION_DATE, DURATION_CHAR,
	YEAR,      DAY, WORD_THIS,
	WORD_NEXT, WORD_COMING,
	EVERY, EVERYDAY, WORD_WEEK,
	WORD_DAY, WORD_MONTHS, WORD_WEEKLY,
	WORD_MONTHLY
};

enum class NodeType {
	HEAD = 1,
	BODY = 2,
	TAIL = 3
};
	
	